package _case

import "fmt"

// 声明AnimalI接口
// 定义Animal行为
type AnimalI interface {
	Each()
	Drink()
	Sleep()
	Run()
}

type animal struct {
}

// 声明值类型的话，如果将一个变量赋值成animal类型后，那它只能调用Each方法(因为go语言的编译器，所以也可以用*animal方法)
func (a animal) Each() {
	fmt.Println("animal Each方法默认实现")
}

// 声明指针类型的话，如果将一个变量赋值成animal类型后，那它能调用animal和*animal的方法
func (a animal) Drink() {
	fmt.Println("animal Drink方法默认实现")

}
func (a animal) Sleep() {
	fmt.Println("animal Sleep方法默认实现")

}
func (a animal) Run() {
	fmt.Println("animal Run方法默认实现")

}
